﻿using Inovout.Data.Domain;
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace KuaJing.Tasks.Domain
{
    public partial class Task : DataObject
    {
        public Task()
        {
        }
        /// <summary>
        /// 任务名称
        /// </summary>
        [DataProperty("名称", DataType.Text, null, true, 1, 50)]
        public virtual string Name { get; set; }
        [DataProperty("目标概述", DataType.MultilineText, null, false, 1, 500)]
        public virtual string Summary { get; set; }
        [DataProperty("过程描述", DataType.MultilineText, null, false, 1, 500)]
        public virtual string Description { get; set; }

        
        [DataProperty("期望开始日期", DataType.Date, "{0:yyyy-M-d}", true, null, null)]
        public virtual DateTime ExpectedStartDate { get; set; }
        [DataProperty("期望完成日期", DataType.Date, "{0:yyyy-M-d}", true, null, null)]
        public virtual DateTime ExpectedEndDate { get; set; }
        [DataProperty("实际开始日期", DataType.Date, "{0:yyyy-M-d}", false, null, null)]
        public virtual DateTime? ActualStartDate { get; set; }
        [DataProperty("实际结束日期", DataType.Date, "{0:yyyy-M-d}", false, null, null)]
        public virtual DateTime? ActualEndDate { get; set; }
        [DataProperty("负责人", DataType.Text, null, true, 1, 50)]
        public virtual string Assignee { get; set; }
        [DataProperty("参与人", DataType.Text, null, false, 1, 200)]
        public virtual string Participants { get; set; }

        [DisplayName("状态"), UIHint("Enum"),Required]
        public virtual TaskStatus Status { get; set; }
    }
}
